viii

Contents

3

Algorithms for Binary Neural Networks

37

3.1

Overview

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.2

BNN: Binary Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.3

XNOR-Net: Imagenet Classification Using Binary Convolutional Neural Net-

works

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.4

MCN: Modulated Convolutional Network

. . . . . . . . . . . . . . . . . . .

40

3.4.1

Forward Propagation with Modulation . . . . . . . . . . . . . . . . .

41

3.4.2

Loss Function of MCNs . . . . . . . . . . . . . . . . . . . . . . . . .

43

3.4.3

Back-Propagation Updating . . . . . . . . . . . . . . . . . . . . . . .

44

3.4.4

Parameters Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.4.5

Model Effect

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

3.5

PCNN: Projection Convolutional Neural Networks . . . . . . . . . . . . . .

49

3.5.1

Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.5.2

Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.5.3

Theoretical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.5.4

Projection Convolutional Neural Networks . . . . . . . . . . . . . . .

53

3.5.5

Forward Propagation Based on Projection Convolution Layer . . . .

54

3.5.6

Backward Propagation . . . . . . . . . . . . . . . . . . . . . . . . . .

54

3.5.7

Progressive Optimization

. . . . . . . . . . . . . . . . . . . . . . . .

55

3.5.8

Ablation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

3.6

RBCN: Rectified Binary Convolutional Networks with Generative Adversar-

ial Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

3.6.1

Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

3.6.2

Learning RBCNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

3.6.3

Network Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

3.6.4

Ablation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

3.7

BONN: Bayesian Optimized Binary Neural Network . . . . . . . . . . . . .

67

3.7.1

Bayesian Formulation for Compact 1-Bit CNNs . . . . . . . . . . . .

69

3.7.2

Bayesian Learning Losses . . . . . . . . . . . . . . . . . . . . . . . .

69

3.7.3

Bayesian Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

3.7.4

BONNs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

3.7.5

Forward Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

3.7.6

Asynchronous Backward Propagation

. . . . . . . . . . . . . . . . .

73

3.7.7

Ablation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

3.8

RBONN: Recurrent Bilinear Optimization for a Binary Neural Network . .

79

3.8.1

Bilinear Model of BNNs . . . . . . . . . . . . . . . . . . . . . . . . .

81

3.8.2

Recurrent Bilinear Optimization

. . . . . . . . . . . . . . . . . . . .

81

3.8.3

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

3.8.4

Ablation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

3.9

ReBNN: Resilient Binary Neural Network . . . . . . . . . . . . . . . . . . .

85

3.9.1

Problem Formulation

. . . . . . . . . . . . . . . . . . . . . . . . . .

86

3.9.2

Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

3.9.3

Ablation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

4

Binary Neural Architecture Search

91

4.1

Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

4.2

ABanditNAS: Anti-Bandit for Neural Architecture Search . . . . . . . . . .

92

4.2.1

Anti-Bandit Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . .

93

4.2.2

Search Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

4.2.3

Anti-Bandit Strategy for NAS . . . . . . . . . . . . . . . . . . . . . .

95

4.2.4

Adversarial Optimization

. . . . . . . . . . . . . . . . . . . . . . . .

97